home *** CD-ROM | disk | FTP | other *** search
-
-
- .386
- .MODEL FLAT,STDCALL
- locals
- jumps
- UNICODE=0
- include w32.inc
-
-
- Extrn SetUnhandledExceptionFilter : PROC
-
- .DATA
-
- sprava1 db "Detekcia pomocou CreateFileA a ovladaca SIWDEBUG",0
- sprava3 db "Soft-Ice najdeny",0
- sprava2 db "Soft-Ice nenasiel",0
- odlozESP dd 0 ;sem uklada register ESP
- predchadzajuca dd 0 ;sem uklada adresu predchadzajucej obsluhy SEH
- SIWDEBUG db "\\.\SIWDEBUG",0 ;meno ovladaca Soft-Ice
-
- .CODE
- Start:
-
- ;----------------------------------------------------------------------------
- ;NASTAVI SEH PRE PRIPAD CHYBY
- ;----------------------------------------------------------------------------
- mov [odlozESP],esp
- push offset chyba
- call SetUnhandledExceptionFilter
- mov [predchadzajuca], eax
- ;----------------------------------------------------------------------------
-
- call CreateFileA, OFFSET SIWDEBUG, FILE_FLAG_WRITE_THROUGH, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL
- ;snazi sa otvorit subor \\.\SIWDEBUG
-
- call GetLastError ;vrati cislo chyby (ak je Soft-Ice aktivny bude v EAX=32h, ak nie je bude EAX=02)
-
- push eax ;ulozi navratovu hodnotu
-
-
- ;----------------------------------------------------------------------------
- ;NASTAVI PREDCHADZAJUCU OBSLUHU SEH
- ;----------------------------------------------------------------------------
- push dword ptr [predchadzajuca]
- call SetUnhandledExceptionFilter
- ;----------------------------------------------------------------------------
-
- pop eax ;obnovi navratovu hodnotu
-
- cmp eax, 32h ;testuje, ci je Soft-Ice aktivny v pamati
- jz skok ;ak ano skoci
-
-
- continiue:
- call MessageBoxA,0, offset sprava2, offset sprava1,0
- call ExitProcess, -1
-
- skok:
-
- call MessageBoxA,0, offset sprava3, offset sprava1,0
- call ExitProcess, -1
-
-
-
-
- chyba: ;nova obsluha SEH pre pripad chyby
-
- mov esp, [odlozESP]
- push offset continiue
- ret
-
-
- ends
- end Start
-